fix: distinct signal exit codes, mid-stream API error surfacing, require model name with base URL#54
Conversation
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
PR Summary by QodoFix signal exit codes, stream error surfacing, and base URL model validation
AI Description
Diagram
High-Level Assessment
Files changed (19)
|
e59623e to
0564c0f
Compare
…s, require model name with base URL - Map SIGINT/SIGTERM to conventional 128+N exit codes (130/143) instead of always 130 - Surface mid-stream error events/objects from all three providers instead of silently returning empty/partial output - Detect Anthropic max_tokens truncation and return an error instead of printing incomplete output with exit 0 - Require MINT_MODEL_NAME when MINT_BASE_URL is set, since a custom endpoint has no meaningful default model - Add LC_MESSAGES to the locale fallback chain (LC_ALL > LC_MESSAGES > LANG) - Strip leading "v" from local build version so it matches goreleaser's version string - Check out the release tag (not main) in publish-npm/publish-pypi workflows - Handle unset $SHELL and killed-by-signal exit status in install.sh / npm wrapper script
0564c0f to
b5eba79
Compare

Summary
context.WithCancelCauseinstead ofsignal.NotifyContext.max_tokenstruncation viastop_reasonand return an error instead of printing incomplete output with exit 0.MINT_MODEL_NAMEwhenMINT_BASE_URLis set, since a custom endpoint has no meaningful default model (e.g. Ollama would silently get sent a cloud provider's default model name).LC_MESSAGESto the locale fallback chain (LC_ALL>LC_MESSAGES>LANG), matching POSIX priority.vfrom the locally-built version string somint --versionmatches goreleaser's{{.Version}}for both local and released binaries.mainHEAD) inpublish-npm.yml/publish-pypi.ymlso packaging scripts/README match the release being published.$SHELLininstall.shand signal-killed child exit status in the npm wrapper script.AGENTS.md, all README variants) updated to match.Test plan
make check(lint +go test -race -failfast) passes